package tech.waterism.constant;

public class DispatchConstants {

    // 调度方案类型(0:天然出流 1:当前出流 2:规则出流 3:反算出流)
    /**
     * 调度方案类型:天然出流
     */
    public final static int DISPATCH_PLAN_TYPE_NATUREINFLOW = 0;
    /**
     * 调度方案类型:当前出流
     */
    public final static int DISPATCH_PLAN_TYPE_BEGINOUTFLOW = 1;
    /**
     * 调度方案类型:规则出流
     */
    public final static int DISPATCH_PLAN_TYPE_DISPATCHRULES = 2;
    /**
     * 调度方案类型:反算出流
     */
    public final static int DISPATCH_PLAN_TYPE_OPTIMIZEDOUTFLOW = 3;
    /**
     * 调度方案类型:自定义规则出流
     */
    public final static int DISPATCH_PLAN_TYPE_DISPATCHRULES_CUSTOM = 4;

    /**
     * 调度方案名称
     */
    public final static String DISPATCH_PLAN_NAME_NATUREINFLOW = "[系统]天然出流";
    public final static String DISPATCH_PLAN_NAME_BEGINOUTFLOW = "[系统]当前出流";
    public final static String DISPATCH_PLAN_NAME_DISPATCHRULES = "[系统]规则出流";
    public final static String DISPATCH_PLAN_NAME_OPTIMIZEDOUTFLOW = "[系统]反算出流";

    // 泄流方式(0:水量平衡（以水位定出流） 1:水量平衡（以出流定水位） 2:闸门开度（龙格库塔） 3:按天然流量出流 22:入流出流均按闸门开度（龙格库塔）)
    /**
     * 水量平衡（以水位定出流） 指定水位
     */
    public final static int FLOW_WAY_BALANCE_BY_WATERLEVEL = 0;
    /**
     * 水量平衡（以出流定水位） 指定出流
     */
    public final static int FLOW_WAY_BALANCE_BY_OUTFLOW = 1;
    /**
     * 闸门开度（龙格库塔）
     */
    public final static int FLOW_WAY_GATE_BY_RUNGEKUTTA = 2;
    /**
     * 按天然流量出流
     */
    public final static int FLOW_WAY_GIVEN_BY_NATUREINFLOW = 3;
    /**
     * 入流出流均按闸门开度（龙格库塔）
     */
    public final static int FLOW_WAY_DOUBLE_GATE_BY_RUNGEKUTTA = 22;

    /**
     * 特殊站点 STATION_CODE
     */
    public static final String STATION_CODE_NIERJI = "11201780";
    public static final String STATION_CODE_DEDU = "11207200";
    public static final String STATION_CODE_GUCHENGZI = "11208810";
    public static final String STATION_CODE_TONGMENG = "11202010";
    public static final String STATION_CODE_FULAERJI = "11202500";
    public static final String STATION_CODE_BAISHAN = "10800701";
    public static final String STATION_CODE_FENGMAN = "10801300";
    public static final String STATION_CODE_JIANGQIAO = "11202600";
    public static final String STATION_CODE_DALAI = "11203200";
    public static final String STATION_CODE_FUYU = "10901900";
    public static final String STATION_CODE_TAONAN = "11405810";
    public static final String STATION_CODE_YUELIANGPAO = "11405810";
    public static final String STATION_CODE_PANGTOUPAO = "HP016AB1";
    public static final String STATION_CODE_XIADAIJI = "10901900";
    public static final String STATION_CODE_CAIJIAGOU = "11000700";
    public static final String STATION_CODE_HAERBIN = "10700700";

    // 分洪排洪选项(0:分洪 1:排洪)
    /**
     * 分洪
     */
    public static final int OPERATE_FLOOD_DIVERSION = 0;
    /**
     * 排洪
     */
    public static final int OPERATE_FLOOD_DISCHARGE = 1;

    /**
     * 是否分洪/排洪
     */
    public static final String F_ST_DVRDSC_TRUE = "1";
    public static final String F_ST_DVRDSC_FALSE = "0";

    public static final String DIS = "DIS";
    public static final String DIV = "DIV";

    // 插值类型
    // 0: 龙格库塔 （默认）
    // 1：半图解法
    /**
     * 龙格库塔
     */
    public final static Integer DISPATCH_OUTFLOWTYPE_RANGEKUTTA = 0;
    /**
     * 半图解法
     */
    public final static Integer DISPATCH_OUTFLOWTYPE_SEMI_GRAPHICAL = 1;
}
